/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Dato;

import Logica.LLineaDeTransporte;
import Objetos.LineaDeTransporte;
import Utilitarios.Conexion;
import java.sql.*;
import javax.swing.table.DefaultTableModel;

public class DLineaTransporte {

    static ResultSet rs = null;
    static Statement st = null;

    public static ResultSet Select(String query) throws SQLException {

        Conexion conex = new Conexion();
        st = conex.ObtenerConexion();
        rs = st.executeQuery(query);
        return rs;
    }

    public static void Insert(String query) throws SQLException {

        Conexion conex = new Conexion();
        st = conex.ObtenerConexion();
        st.execute(query);
        st.close();
    }

    public static void UpDate(String query) throws SQLException {

        Conexion conex = new Conexion();
        st = conex.ObtenerConexion();
        st.execute(query);
        st.close();
    }

    public void AgregarPersona(LineaDeTransporte objLineaTransporte) throws SQLException {
        String comando;
        comando = "insert INTO linea_de_transporte (idlineadetransporte, idempresadetransporte, nombre, estado) values ";
        comando = comando + "('" + objLineaTransporte.getIdLineaTransporte() + "','" + objLineaTransporte.getIdEmpresaTransporte() + "','" + objLineaTransporte.getNombre() + "'," + objLineaTransporte.getEstado() + ")";
        //  JOptionPane.showMessageDialog(null, comando, "Información", JOptionPane.INFORMATION_MESSAGE);
        Insert(comando);
    }

    public DefaultTableModel LimpiarTabla() {
        DefaultTableModel dtm = new DefaultTableModel();
        String titulos[] = {"Codigo", "Empresa Transporte", "Linea Transporte", "Estado"};
        dtm.setColumnIdentifiers(titulos);
        Object datos[] = new Object[4];
        dtm.addRow(datos);
        return dtm;
    }

    public String ObtenerIdCorrelativo() throws SQLException {
        String comando;
        comando = "Select count(idlineadetransporte) from linea_de_transporte";
        String num;
        num = "0";
        ResultSet rs = Select(comando);
        while (rs.next()) {
            num = rs.getString(1);

        }
        System.out.println(num);
        return num;
    }

    public DefaultTableModel MostrarVehiculos() throws SQLException {
        System.out.println("entrooo");
        DefaultTableModel dtm = new DefaultTableModel();
        String titulos[] = {"Codigo", "Empresa de Transporte", "Linea de Transporte", "Estado"};
        dtm.setColumnIdentifiers(titulos);

        LineaDeTransporte objLineaDeTransporte = new LineaDeTransporte();
        Object datos[] = new Object[4];
        ResultSet rs;
        rs = Select("select * from linea_de_transporte where estado=1");


        while (rs.next()) {
            objLineaDeTransporte.setIdLineaTransporte(rs.getString(1));
            objLineaDeTransporte.setIdEmpresaTransporte(rs.getString(2));
            objLineaDeTransporte.setNombre(rs.getString(3));
            objLineaDeTransporte.setEstado(rs.getString(4));


            datos[0] = objLineaDeTransporte.getIdLineaTransporte();
            datos[1] = this.ObtenerEmpresaTransporte(objLineaDeTransporte.getIdEmpresaTransporte());
            datos[2] =objLineaDeTransporte.getNombre();
            datos[3] = objLineaDeTransporte.getEstado();;

            dtm.addRow(datos);
            System.out.println("1111" + datos[2]);


        }
        return dtm;
    }

    public DefaultTableModel SelectPersona(String txtCadBuscar, String txtVarBuscar, String estado) throws SQLException {
        String cadena = "";
        String nomEmpresa = "";
        DefaultTableModel dtm = new DefaultTableModel();
        String titulos[] = {"Codigo", "Empresa de Transporte", "Linea de Transporte", "Estado"};
        dtm.setColumnIdentifiers(titulos);
        if (txtVarBuscar.equals("Nombre") == true) {                    
            cadena = "select * from linea_de_transporte where nombre like '%" + txtCadBuscar + "%'";
        } else {
            if (txtVarBuscar.equals("Estado") == true) {            
                cadena = "select * from linea_de_transporte where estado='" + estado + "'";
            } else {
                cadena = "select * from linea_de_transporte where estado= '" + estado + "'";
                System.out.println(cadena);
            }
        }
        LineaDeTransporte objLineaDeTransporte = new LineaDeTransporte();
        String datos[] = new String[6];
        ResultSet rs;
        rs = Select(cadena);

        while (rs.next()) {
            objLineaDeTransporte.setIdLineaTransporte(rs.getString(1));
            objLineaDeTransporte.setIdEmpresaTransporte(rs.getString(2));
            objLineaDeTransporte.setNombre(rs.getString(3));
            objLineaDeTransporte.setEstado(rs.getString(4));


            datos[0] = objLineaDeTransporte.getIdLineaTransporte();
            datos[1] = ObtenerEmpresaTransporte(objLineaDeTransporte.getIdEmpresaTransporte());
            datos[2] = objLineaDeTransporte.getNombre();
            datos[3] = objLineaDeTransporte.getEstado();

            dtm.addRow(datos);
        }
//                  
        return dtm;
    }

    

    private String ObtenerLineaTrasporte(String cad) throws SQLException {
        String cadena;
        cadena = "Select nombre from linea_de_transporte where idlineadetransporte='" + cad + "'";
        ResultSet rs;
        rs = Select(cadena);
        while (rs.next()) {
            return rs.getString(1);
        }
        return "";
    }

    private String ObtenerEmpresaTransporte(String cad) throws SQLException {
       String cadena;
        cadena = "Select nombre from empresa_de_transporte where idempresadetransporte='" + cad + "'";
        ResultSet rs;
        rs = Select(cadena);
        while (rs.next()) {
            return rs.getString(1);
        }
        return "";
    }

    public void EliminarVehiculo(String codigoLinea) throws SQLException {
         String comando;
        comando = "UPDATE linea_de_transporte SET estado=0";
        comando = comando + " WHERE idlineadetransporte='" + codigoLinea + "'";
        System.out.println(comando);
        UpDate(comando);
    }

    public void ModificarLinea(LineaDeTransporte objLineaDeTransporte) throws SQLException {
        String comando;
        comando = "UPDATE linea_de_transporte SET nombre='" + objLineaDeTransporte.getNombre() + "'";
        comando = comando + ", idempresadetransporte='" + objLineaDeTransporte.getIdEmpresaTransporte() + "' WHERE idlineadetransporte='" + objLineaDeTransporte.getIdLineaTransporte() + "'";
        System.out.println(comando);
        UpDate(comando);
    }

    
}
